//import kotlinx.coroutines.*
//import platform.posix.pthread_self
//
///**
// * 线程切换与上下文保留
// * 使用withContext在协程内部切换线程
// *
// * 运行结果：
// * 主线程ID: 139869718961216
// * 协程0 线程ID: 139869569414912
// * 协程2 线程ID: 139869569414912
// * 协程3 线程ID: 139869569414912
// * 协程4 线程ID: 139869569414912
// * 协程1 线程ID: 139869654087424
// *
// */
//
//import kotlinx.coroutines.*
//
///**
// * 线程切换与上下文保留
// * 使用withContext在协程内部切换线程
// *
// * 运行结果：
// * 开始执行线程ID: 139662854207232
// * IO操作线程ID: 139662842930944
// * 恢复执行线程ID: 139662854207232
// */
//fun main() = runBlocking {
//    launch(Dispatchers.Default) {
//        println("开始执行线程ID: ${pthread_self()}")
//
//        // 切换到IO线程
//        withContext(Dispatchers.IO) {
//            println("IO操作线程ID: ${pthread_self()}")
//        }
//
//        // 返回原线程
//        println("恢复执行线程ID: ${pthread_self()}")
//    }
//
//    delay(1000)
//}
